package com.smalluz.ad.modules.ks.api;

import java.util.Map;

import com.smalluz.ad.modules.common.api.MediaService;
import com.smalluz.ad.modules.common.config.MediaConfigStorage;
import com.smalluz.ad.modules.ks.result.KsAccessTokenResult;

public interface KsService extends MediaService {

    KsService switchoverTo(String advertiserId);

    /**
     * @description 获取token授权对象
     * @return
     */
    KsAccessTokenResult getAccessTokenEntity();

    /**
     *
     * @description 获取配置信息
     * @return
     */
    MediaConfigStorage getMediaConfigStorage();

    void setConfigStorage(MediaConfigStorage configProvider);

    void setMultiConfigStorages(Map<String, MediaConfigStorage> configStorages);

    void addConfigStorage(String advertiserId, MediaConfigStorage configStorages);

    void setMultiConfigStorages(Map<String, MediaConfigStorage> configStorages, String defaultMpId);

    /**
     * 
     * @description 获取线索服务
     * @return
     */
    KsClueService getKsClueService();
    
    KsCampaignService getKsCampaignService();
    /**
     * 
     * @description 获取报表服务
     * @return
     */
    KsReportService getKsReportService();
}
